QProgress : 進度條,用於顯示任務的進度,通常用於表示運行中的進度。
QProgress()
: 添加進度條。預設是 0 到 100 。valueChanged.connect(function)
: 當 QProgress
的值發生改變時,會觸發信號。下面是當值改變時,觸發信號,使用 setValue(int)
改變進度條,並使用 value()
取得當前進度條的值,列印出當前的數值。from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QProgressBar
from PySide6.QtCore import QTimer
class MyWindow(QWidget):
def __init__(self):
super().__init__()
# 創建進度條
self.progress_bar = QProgressBar()
self.progress_bar.valueChanged.connect(lambda: print(self.progress_bar.value()))
# 創建QTime
self.time = QTimer(self)
self.time.start(100)
self.time.timeout.connect(self.setProgress)
self.count = 0
# 佈局
layout = QVBoxLayout()
layout.addWidget(self.progress_bar)
self.setLayout(layout)
def setProgress(self):
self.count += 1
self.progress_bar.setValue(self.count)
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec()
setFormat(format)
: 設定進度條的顯示格式, %p
代表百分比,而 %v
表示實際的數值。setValue(int)
: 設定進度條的當前值。setMinimum(int)
: 設定進度條的最小值。setMaximum(int)
: 設定進度條的最大值。setRange(start , end)
: 設定進度條的範圍。reset()
: 重製進度條,將進讀條重製到最小值。setOrientation(Qt.Orientation)
: 設定進度條的方向,是要垂直還是水平。下面範例是將進度條格式設定為顯示實際數值,範圍設在 0 到 50 ,並到 50 後就會重製,重新開始。
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QProgressBar
from PySide6.QtCore import QTimer
class MyWindow(QWidget):
def __init__(self):
super().__init__()
# 創建進度條
self.progress_bar = QProgressBar()
self.progress_bar.valueChanged.connect(lambda: print(self.progress_bar.value()))
self.progress_bar.setRange(0,50) # 設定範圍為 0 到 50
self.progress_bar.setFormat("%v") # 設定顯實際數值
# 創建QTime
self.time = QTimer(self)
self.time.start(10)
self.time.timeout.connect(self.setProgress)
self.count = 0
# 佈局
layout = QVBoxLayout()
layout.addWidget(self.progress_bar)
self.setLayout(layout)
def setProgress(self):
self.count += 1
self.progress_bar.setValue(self.count)
if self.progress_bar.value() == 50:
self.progress_bar.reset()
self.count = 0
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec()
功能 | 方法 |
---|---|
添加進度條 | QProgress() |
-QProgress 的信號
功能 | 方法 |
---|---|
進度條改變時觸發 | valueChanged.connect(function) |
功能 | 方法 |
---|---|
添加進度條 | setFormat(format) |
設定進度條的值 | setValue(int) |
設定進度條最小值 | setMinimum(int) |
設定進度條最大值 | setMaximum(int) |
設定進度條範圍 | setRange(start , end) |
重製進度條 | reset() |
設定進度條水平或垂直 | setOrientation(Qt.Orientation) |